package com.gf.help.dao;

import java.util.List;

import com.gf.help.model.Question;

public interface QuestionDao {
	/**
	 * 根据分页信息查找问题
	 * @param currentPage 当前页
	 * @param pageSize 每页大小
	 * @return List<Question>
	 */
	public List<Question> queryQuestions(int currentPage, int pageSize);
	/**
	 * 查看问题总记录数
	 * @return int
	 */
	public int queryCount();
	/**
	 * 根据问题id查看问题详情
	 * @param id 问题Id
	 * @return Question
	 */
	public Question queryById(long id);
	/**
	 * 更新问题
	 * @param question 需要更新的问题
	 * @return boolean
	 */
	public boolean update(Question question);
	/**
	 * 删除问题
	 * @param id 问题id
	 * @return boolean
	 */
	public boolean delete(long id);
	/**
	 * 增加问题
	 * @param question 问题
	 * @return
	 */
	public boolean insert(Question question);
	/**
	 * 根据提问者id查找问题
	 * @param askerId 提问者Id
	 * @param currentPage 当前页
	 * @param pageSize 每页大小
	 * @return List<Question>
	 */
	public List<Question> queryQuestionsByAskerId(long askerId,int currentPage, int pageSize);
	/**
	 * 根据回答者Id查找问题
	 * @param applierId 回答者Id
	 * @param currentPage 当前页
	 * @param pageSize 每页大小
	 * @return List<Question>
	 */
	public List<Question> queryQuestionsByApplIerId(long applierId,int currentPage, int pageSize);
	/**
	 * 更新已读数
	 * @param id
	 * @param count
	 * @return
	 */
	public boolean updateReadCount(long id,int count);
	/**
	 * 根据回答者Id查找问题总数
	 * @param applierId
	 * @return
	 */
	public int queryCountQuestionsByApplIerId(long applierId);
	 /**
	  * 根据提问者找到问题总数
	  * @param askId
	  * @return
	  */
	public int queryCountQuestionsByAskId(long askId);
	/**
	 * 更新回答数
	 * @param id
	 * @param replyCount
	 * @return
	 */
	public boolean updateReplyCount(long id, int replyCount);
}
